\begin{tikzpicture}[>=Stealth,]
    \pgfmathsetmacro{\factor}{0.1}
    \pgfmathsetmacro{\jiaoa}{40}
    \pgfmathsetmacro{\ac}{28 * \factor}
    \pgfmathsetmacro{\a}{20 * \factor}

    \coordinate (A) at (0, 0);
    \coordinate (C) at (\jiaoa:\ac);
    \coordinate (Q) at ($(A)!1.3!(C)$);
    \coordinate (P) at (4, 0);

    \draw [thick] (A) -- (Q) node [right] {$Q$};
    \node [above] at (C) {$C$};
    \node [above] at ($(A)!0.5!(C)$) {$b$};

    \draw [thick, name path=ap] (A) node [left] {$A$} -- (P) node [below] {$P$};
    \path [name path=cb] (C) + (180:\a) arc (180:360:\a);
    \draw [name intersections={of=ap and cb, by={B2, B1}}];
    \draw (C) -- (B1) node [below right] {$B_1$} node [midway, left]  {$a$};
    \draw (C) -- (B2) node [below right, xshift=-0.4em] {$B_2$} node [midway, right] {$a$};
    \begin{scope}[every node/.style={fill=white, inner sep=1pt, outer sep=3pt},]
        \draw [<->] ([yshift=-1.0em] A) to [xianduan={above=1.0em}] node {$c_2$} ([yshift=-1.0em] B2);
        \draw [<->] ([yshift=-2.0em] A) to [xianduan={above=2.0em}] node {$c_1$} ([yshift=-2.0em] B1);
    \end{scope}

    \pgfmathanglebetweenpoints{\pgfpointanchor{B2}{base}}{\pgfpointanchor{C}{base}}
    \pgfmathsetmacro{\jiaocbp}{\pgfmathresult}
    \draw [dashed] (B2) arc (180+\jiaocbp:360-\jiaocbp:\a);
    \draw (B2) arc (180+\jiaocbp:180+\jiaocbp-20:\a)
          (B1) arc (360-\jiaocbp:360-\jiaocbp+20:\a);
\end{tikzpicture}

